1. Field of Invention
This invention generally relates to network communication between computers, specifically to an accelerated method of conducting Transmission Control Protocol (TCP) communications between a single computer and multiple computers.
2. Prior Art
The most ubiquitous network communications protocol in existence today is TCP over IP (Internet Protocol), otherwise known at TCP/IP. Currently, communication over this protocol requires that at least one unique channel (usually more) be opened between each computer that is communicated with. This is referred to as a session. FIG. 2 shows a depiction of this process. In addition, TCP is a connection-oriented protocol meaning that every message must be acknowledged from the other computer. This acknowledgment requires that the computers wait idle while the other computer responds, slowing the communications process down.
These limitations are especially noticed when one computer communicates with multiple computers. To help speed up communication, multiple connections or sessions are usually handled by a multi-threaded process or a multi-process program. This is processor and memory intensive and there are practical limits to how many threads or processes a computer program can spawn. Each session also requires its own source port to differentiate communications so that the messages are routing to the correct process or thread. This has the following disadvantages:
Sequential communications resulting in time wasted while waiting for replies,
Greater memory consumption for each additional session,
Greater processor utilization for each additional session, and
Greater consumption of available ports.
These disadvantages will become even more pronounced as the amount of network communication increases and available bandwidth increases which is the current rapidly accelerating trend.
3. Objects and Advantages
FIG. 3 shows the new process for multiple TCP connections. Four computers are shown to represent multiple computers from 1 to n. Accordingly, several objects and advantages of the invention are:
Parallel communications resulting in the virtual elimination of time wasted in waiting for replies when communicating with multiple computers,
Less memory consumption through the elimination of a separate process for each session,
Less processor utilization through the elimination of a separate process for each session,
Reduction of port consumption from many to one resulting in more available resources, and
Prevention of Denial of Service (DoS) attacks that render a computer useless though consumption of all available ports.
In our working prototypes, we have been able to speed up communications by 300 to 600 times using average computer hardware found on most desktop computers. Further objects and advantages are that this new technique does not require any modification of existing protocols or hardware. Other objects and advantages will become apparent from a consideration of the ensuing description and drawings.